﻿namespace WebServiceExtensions.LogExtension
{
	/// <summary>
	///   Represents selected config settings
	/// </summary>
	public class ConfigSettings
	{
		#region Constructors (1) 

		/// <summary>
		///   Initializes a new instance of the <see cref = "ConfigSettings" /> class.
		/// </summary>
		public ConfigSettings()
		{
			this.EnableCallCounting = true;
			this.LogCallCount = true;
			this.LogCallType = true;
			this.LoggingEnabled = true;
			this.LogServiceUrl = true;
			this.LogSoapHeaders = true;
			this.LogSoapRequest = true;
			this.LogSoapResponse = true;
			this.LogSoapVersion = true;
		}

		#endregion Constructors 

		#region Properties (9) 

		/// <summary>
		///   Gets or sets a value indicating whether [enable call count].
		/// </summary>
		/// <value>
		///   <c>true</c> if [enable call count]; otherwise, <c>false</c>.
		/// </value>
		public bool EnableCallCounting { get; set; }

		/// <summary>
		///   Gets or sets a value indicating whether [log call count].
		/// </summary>
		/// <value>
		///   <c>true</c> if [log call count]; otherwise, <c>false</c>.
		/// </value>
		public bool LogCallCount { get; set; }

		/// <summary>
		///   Gets or sets a value indicating whether [log call type].
		/// </summary>
		/// <value>
		///   <c>true</c> if [log call type]; otherwise, <c>false</c>.
		/// </value>
		public bool LogCallType { get; set; }

		/// <summary>
		///   Gets or sets a value indicating whether [logging enabled].
		/// </summary>
		/// <value>
		///   <c>true</c> if [logging enabled]; otherwise, <c>false</c>.
		/// </value>
		public bool LoggingEnabled { get; set; }

		/// <summary>
		///   Gets or sets a value indicating whether [log service URL].
		/// </summary>
		/// <value>
		///   <c>true</c> if [log service URL]; otherwise, <c>false</c>.
		/// </value>
		public bool LogServiceUrl { get; set; }

		/// <summary>
		///   Gets or sets a value indicating whether [log SOAP headers].
		/// </summary>
		/// <value>
		///   <c>true</c> if [log SOAP headers]; otherwise, <c>false</c>.
		/// </value>
		public bool LogSoapHeaders { get; set; }

		/// <summary>
		///   Gets or sets a value indicating whether [log SOAP request].
		/// </summary>
		/// <value>
		///   <c>true</c> if [log SOAP request]; otherwise, <c>false</c>.
		/// </value>
		public bool LogSoapRequest { get; set; }

		/// <summary>
		///   Gets or sets a value indicating whether [log SOAP response].
		/// </summary>
		/// <value>
		///   <c>true</c> if [log SOAP response]; otherwise, <c>false</c>.
		/// </value>
		public bool LogSoapResponse { get; set; }

		/// <summary>
		///   Gets or sets a value indicating whether [log SOAP version].
		/// </summary>
		/// <value>
		///   <c>true</c> if [log SOAP version]; otherwise, <c>false</c>.
		/// </value>
		public bool LogSoapVersion { get; set; }

		#endregion Properties 
	}
}